﻿using System;
using System.Web.UI;

namespace StockholmsStad.Web.UI.Controls
{
    /// <summary>
    /// WebControl för ett fält med tillhörande titel och validering
    /// </summary>
    public partial class NamedValidatedFieldControl : UserControl
    {
        #region Properties

        /// <summary>
        /// Maxlängd på antal tecken i fältet
        /// </summary>
        public int TextMaxLength
        {
            get { return namedFieldTextBox.MaxLength; }
            set { namedFieldTextBox.MaxLength = value; }
        }

        /// <summary>
        /// Titel för fältet
        /// </summary>
        public string Title
        {
            get { return namedFieldlabel.Text; }
            set { namedFieldlabel.Text = value; }
        }

        /// <summary>
        /// Innehållet i textfältet
        /// </summary>
        public string Text
        {
            get { return namedFieldTextBox.Text; }
            set { namedFieldTextBox.Text = value; }
        }

        /// <summary>
        /// Om textfältet är skrivbart 
        /// </summary>
        public bool TextEnabled
        {
            get { return namedFieldTextBox.Enabled; }
            set { namedFieldTextBox.Enabled = value; }
        }

        /// <summary>
        /// Felmeddelande för validering. Samma meddelande returneras både
        /// om regular-expression-validering och required-validering går fel.
        /// </summary>
        public string ValidationErrorMessage
        {
            get { return namedFieldRegularExpressionValidator.ErrorMessage; }
            set
            {
                namedFieldRegularExpressionValidator.ErrorMessage = value;
                namedFieldRequiredFieldValidator.ErrorMessage = value;
            }
        }

        /// <summary>
        /// Regular expression för validering. 
        /// </summary>
        public string ValidationExpression
        {
            get { return namedFieldRegularExpressionValidator.ValidationExpression; }
            set { namedFieldRegularExpressionValidator.ValidationExpression = value; }
        }

        /// <summary>
        /// Om valideringen ska kontrollera att fältet är ifyllt
        /// </summary>
        public bool ValidationRequired
        {
            get { return namedFieldRequiredFieldValidator.Enabled; }
            set { namedFieldRequiredFieldValidator.Enabled = value; }
        }

        /// <summary>
        /// Tooltip som sätts på både titel och textbox
        /// </summary>
        public string ToolTip
        {
            get { return namedFieldlabel.ToolTip; }
            set
            {
                namedFieldTextBox.ToolTip = value;
                namedFieldlabel.ToolTip = value;
            }
        }

        #endregion

        /// <summary>
        /// Körs när sidan laddas
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
}